from pyspark import SparkConf,SparkContext
import os
os.environ["PYSPARK_PYTHON"] = "D:/Python3.10.7/python.exe"

conf = SparkConf().setMaster("local[*]").setAppName("My App")
sc = SparkContext(conf=conf)

#读取文件
#ab a b c abc
# b c a ab a b
# a b c a b c
f = sc.textFile("D://test//py1.txt")

#注意，读取文件时每一行是一条数据，最终得到的是数组
print(f.collect()) #['ab a b c abc ', 'b c a ab a b ', 'a b c a b c ']
print(f.map(lambda x:x.split(" "))) #[['ab', 'a', 'b', 'c', 'abc', ''], ['b', 'c', 'a', 'ab', 'a', 'b', ''], ['a', 'b', 'c', 'a', 'b', 'c', '']]
#先分割然后再flatMap放到一个数组，然后换成元组，最后统计数量
f = f.flatMap(lambda x:x.split(" ")).map(lambda e:(e,1)).reduceByKey(lambda a,b:a+b)
print(f.collect())

sc.stop()